package Logica;

import Acceso.AccesoProveedorPregunta;
import Entidades.Proveedor;
import java.util.ArrayList;

/**
 *
 * @author Puma
 */
public class LogicaProveedorPregunta {

    private static AccesoProveedorPregunta accesoProveedorPregunta = new AccesoProveedorPregunta();
    private static String consultaSelect = "";
    private static ArrayList<String> insertsHistoricos = new ArrayList<String>();

    public static void obtenerIdsServiciosSeleccionados(ArrayList<Proveedor> proveedores, int pregunta) {

        for (Proveedor s : proveedores) {

            consultaSelect = " SELECT A.* FROM PROVEEDOR B, PREGUNTA C, "
                    + "PROV_PREG A WHERE A.PREG_ID = C.PREG_ID AND "
                    + "A.PROV_ID = B.PROV_ID AND B.PROV_NOMBRE = "
                    + "'" + s.getProv_nombre() + "' AND C.PREG_NUM = " + String.valueOf(pregunta) + "";

            insertsHistoricos.add("INSERT INTO HISTORICA(DIS_ID,SERV_ID,"
                    + "VEL_ID,PP_ID,TM_ID,PAG_ID,LUG_ID,CANTIDAD) VALUES "
                    + "(NULL," + String.valueOf(pregunta)
                    + ",NULL," + accesoProveedorPregunta.
                    obtenerIdsPreguntaProveedor(consultaSelect) + ",NULL,NULL,"
                    + "NULL," + String.valueOf(s.getCantidad()) + ")");

            consultaSelect = "";
        }

        insertarHistorica(insertsHistoricos);
    }

    public int obtenerIdServicioSeleccionado(String proveedor, int pregunta) {

        String consulta = " SELECT A.PP_ID FROM proveedor B, pregunta C, "
                + "prov_preg A WHERE A.PREG_ID = C.PREG_ID AND "
                + "A.PROV_ID = B.PROV_ID AND B.PROV_NOMBRE = "
                + "'" + proveedor + "' AND C.PREG_NUM = '" + String.valueOf(pregunta) + "'";
        
        System.out.println(consulta);
        int id = accesoProveedorPregunta.obtenerIdsPreguntaProveedor(consulta);
        
        return id;
    }

    private static void insertarHistorica(ArrayList<String> inserts) {
        for (String s : inserts) {
            accesoProveedorPregunta.insertarRegistro(s);
        }
    }
}
